/**
 * @file Socket.cc
 * @brief Socket封装类的实现
 */

#include "Socket.hpp"
#include <sys/socket.h>
#include <unistd.h>
#include <stdio.h>

namespace wd
{

// 构造函数：创建TCP socket
Socket::Socket()
{
    _fd = socket(AF_INET, SOCK_STREAM, 0);
    if(_fd < 0)
        perror("socket");
}

// 析构函数：关闭socket
Socket::~Socket()
{
    //_fd有效时，需要关闭
    if(_fd > 0) {
        close(_fd);
    }
}

// 关闭socket的写端
void Socket::shutdownWrite()
{
    if(_fd > 0) {
        shutdown(_fd, SHUT_WR);
    }
}

}//end of namespace wd
